
// 通过Promise封装 将请求和结果处理分离开来

function request(url, params = {}, type = "get") {
    return new Promise(function (resolve, reject) {
        $.ajax({
            type: type,
            url: url,
            data: params,
            dataType: "json",
            success: function (res) {
                resolve(res); //请求成功 => {fulfilled:res}
            },
            error: function (err) {
                reject(err); // 代码出错 => {rejected:err}
            }
        })
    })
    // 调用此方法返回 Promise实例:{pending:undefined} => 请求有结果之后在改变状态
}

function register(params) { // params对象参数 => {user, pwd, phone, email}
    // return new Promise(function (resolve, reject) {
    //     $.ajax({
    //         type: "post",
    //         url: "../php/register.php",
    //         data: params,
    //         dataType: "json",
    //         success: function (res) {
    //             resolve(res); //请求成功 => {fulfilled:res}
    //         },
    //         error: function (err) {
    //             reject(err); // 代码出错 => {rejected:err}
    //         }
    //     })
    // })

    return request("../php/register.php", params, "post");// Promise对象
}


// function fn() {
//     function a() {
//         return 1;
//     }
//     return a(); // 1
// }



function isExistUser(params) { // params对象参数 => {user}
    // return new Promise(function (resolve, reject) {
    //     $.ajax({
    //         type: "get",
    //         url: "../php/isExistUser.php",
    //         data: params,
    //         dataType: "json",
    //         success: function (res) {
    //             resolve(res); //请求成功 => {fulfilled:res}
    //         },
    //         error: function (err) {
    //             reject(err); // 代码出错 => {rejected:err}
    //         }
    //     })
    // })

    return request("../php/isExistUser.php", params, "get");// Promise对象
}


function login(params) { // params对象参数 => {user, pwd}
    // return new Promise(function (resolve, reject) {
    //     $.ajax({
    //         type: "post",
    //         url: "../php/login.php",
    //         data: params,
    //         dataType: "json",
    //         success: function (res) {
    //             resolve(res); //请求成功 => {fulfilled:res}
    //         },
    //         error: function (err) {
    //             reject(err); // 代码出错 => {rejected:err}
    //         }
    //     })
    // })
    return request("../php/login.php", params, "post");// Promise对象
}
